package top.hmtools.model;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * 短信消息实体类
 * @author Jianghaibo
 *
 */
public class MessageBean implements Serializable{
    
    /**
     * 
     */
    private static final long serialVersionUID = -7237219973403719081L;

    /**
     * 唯一主键
     */
    private String id;
    
    /**
     * 接收者手机号码
     */
    private String phoneNO;

    /**
     * 短信内容签名（运营商要求，不同短信平台使用方式不同）
     */
    private String sign;
    
    /**
     * 消息发送时间
     */
    private Date sendDateTime;
    
    /**
     * 有效时间（单位：秒）
     */
    private int ValidPeriodTime;
    
    /**
     * 具体内容（键值对形式，用于与短信模板合成）
     */
    private Map<String,String> contents = new HashMap<>();

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the phoneNO
     */
    public String getPhoneNO() {
        return phoneNO;
    }

    /**
     * @param phoneNO the phoneNO to set
     */
    public void setPhoneNO(String phoneNO) {
        this.phoneNO = phoneNO;
    }

    /**
     * @return the sign
     */
    public String getSign() {
        return sign;
    }

    /**
     * @param sign the sign to set
     */
    public void setSign(String sign) {
        this.sign = sign;
    }

    /**
     * @return the contents
     */
    public Map<String, String> getContents() {
        return contents;
    }

    /**
     * @param contents the contents to set
     */
    public void setContents(Map<String, String> contents) {
        this.contents = contents;
    }

    /**
     * @return the sendDateTime
     */
    public Date getSendDateTime() {
        return sendDateTime;
    }

    /**
     * @param sendDateTime the sendDateTime to set
     */
    public void setSendDateTime(Date sendDateTime) {
        this.sendDateTime = sendDateTime;
    }

    /**
     * @return the validPeriodTime
     */
    public int getValidPeriodTime() {
        return ValidPeriodTime;
    }

    /**
     * @param validPeriodTime the validPeriodTime to set
     */
    public void setValidPeriodTime(int validPeriodTime) {
        ValidPeriodTime = validPeriodTime;
    }
    
    /**
     * 添加内容
    * <br>方法说明：                    putContent
    * <br>输入参数说明：           
    * <br>@param key
    * <br>@param value
    * <br>输出参数说明：
    * <br>void           
    *
     */
    public void putContent(String key,String value){
        this.contents.put(key, value);
    }
    
}
